#ifndef			__GAME_OBJECT_H__
#define                 __GAME_OBJECT_H__

#include		<SFML/Graphics.hpp>
#include                "Enums.hpp"
#include                "Animation.hpp"
class Animation;

class GameObject {
public:
    GameObject(int id, enum GameObjectType type, int team, int life,
            int damage, int speed, Animation& living, Animation& dying);
    int getId() const;
    int getTeam() const;
    enum GameObjectType getType() const;
    int getLife() const;
    int getDamage() const;
    int getSpeed() const;
    const GameObject* getShoot1() const;
    const GameObject* getShoot2() const;
    const sf::Sprite& getRepresentation() const;
    void setLife(const int&);
    void setSpeed(const int&);

private:
    int _id;
    enum GameObjectType _type;
    int _team;
    int _life;
    int _damage;
    int _speed;
    Animation& _animationLiving;
    Animation& _animationDying;
    GameObject* _shoot1;
    GameObject* _shoot2;
};

#endif			/*__GAME_OBJECT_H__*/
